/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tv.inventario.reporte;

import java.util.ArrayList;
import java.util.List;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
import org.primefaces.model.LazyDataModel;
import tv.inventario.vista.ItemCatalogo;

/**
 *
 * @author ctrosch
 */
public class ItemCatalogoDataSource implements JRDataSource {

    private List<ItemCatalogo> listaParticipantes = new ArrayList<ItemCatalogo>();
    private int indice = -1;

    public ItemCatalogoDataSource() {
        
    }

    public ItemCatalogoDataSource(List<ItemCatalogo> catalogo) {
        listaParticipantes = catalogo;
    }

    public ItemCatalogoDataSource(LazyDataModel<ItemCatalogo> catalogo) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
    
    @Override
    public boolean next() throws JRException{
        return ++indice < listaParticipantes.size();
    }

    @Override
    public Object getFieldValue(JRField jrf) throws JRException {

        Object valor = null;       


    if("ID".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getTippro()+ listaParticipantes.get(indice).getArtcod() ;
    else if("ITEM_CATALOGO_DESCRP".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getDescrp();
    else if("ITEM_CATALOGO_UNIMED".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getUnidadMedida();
    else if("ITEM_CATALOGO_IMPORT".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getImportado().toString();
    else if("ITEM_CATALOGO_MONEDA".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getMoneda();
    else if("PRECIO_FINAL".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getPrecioFinal();
    else if("PRECIO_MARCADO".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getPrecioFinal();
    else if("ITEM_CATALOGO_TIPPRO".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getTippro();    
    else if("ITEM_CATALOGO_RUBRO1".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getRubro1();
    else if("ITEM_CATALOGO_RUBRO2".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getRubro2();
    else if("SUBTIPO".equals(jrf.getName()))
         valor = listaParticipantes.get(indice).getSubtipo();
    else if("MARCA".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getMarca();
    else if("TIPOPRODUCTO".equals(jrf.getName()))
        valor = listaParticipantes.get(indice).getTipoProducto();
        
    return valor;
    }

    public int getIndice() {
        return indice;
    }

    public void setIndice(int indice) {
        this.indice = indice;
    }

    public List<ItemCatalogo> getListaParticipantes() {
        return listaParticipantes;
    }

    public void setListaParticipantes(List<ItemCatalogo> listaParticipantes) {
        this.listaParticipantes = listaParticipantes;
    }

    

}
